home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 December / PCWDEC07.iso / Software / Shareware / HTMLPad Pro 2007 8.1 / htmlpad8.exe / {app} / data / hscripts / SampleHTML.xs < prev   
Encoding:
Text File  |  2007-04-26  |  11.7 KB  |  308 lines

  1. // Language: HTML
  2. // This script demonstrates very simple HTML highlighting
  3. // No Doctype, CSS or JavaScript support
  4. // Well commented and very easy to understand
  5. // Comments *must* start at the beginning of the line
  6.  
  7. // States - these define parser states
  8. State=snormal
  9. State=sstring1
  10. State=sstring2
  11. State=scomment
  12. State=stagname
  13. State=shtmltag
  14. State=shtmlvalue
  15.  
  16. // Tokens - these define different coloring styles
  17. Token=tnone
  18. Token=turl
  19. Token=twhitespace
  20. Token=tstring
  21. Token=tcomment {HTML Comment}
  22. Token=tident
  23. Token=tresword
  24. Token=tsymbol
  25. Token=tentity
  26. Token=tunknown
  27. // tnone, turl, twhitespace are required tokens
  28. // {name} allows to assign pretty display name for custom tokens
  29. // most standard tokens are assigned pretty names automatically
  30.  
  31. // Delimiters
  32. Delimiters=;.,:'"{}[]()<>?!@#$%^&*-+=|\/
  33.  
  34. // The parser generally consists of lines in the following format:
  35. // CurrentState SomeExpression NewState Token
  36. // after the Token, optional SaveState or LoadState directive can be used
  37. // SaveState or LoadState directives allow to remember/activate some previous state
  38. // you can remember only one state!
  39. // see example below
  40. // snormal  <?   sphp     tphpbracket   SaveState
  41. // sstring  <?   sphp     tphpbracket   SaveState
  42. // sphp     ?>   snormal  tphpbracket   LoadState
  43.  
  44. // Common
  45. snormal <                          stagname    tsymbol
  46. stagname [a-z_A-Z][a-z_A-Z0-9]*    shtmltag    tunknown
  47. shtmltag [^\>^\'^\"^#32^\=]*       shtmltag    tident
  48. stagname /                         stagname    tsymbol
  49. shtmltag /                         shtmltag    tsymbol
  50. shtmltag =                         shtmlvalue  tsymbol
  51. shtmlvalue [^\>^#32^\=]*           shtmltag    tstring
  52. shtmlvalue >                       snormal     tsymbol
  53. stagname >                         snormal     tsymbol
  54. shtmltag >                         snormal     tsymbol
  55.  
  56. // White space
  57. snormal #32*                      snormal   twhitespace
  58. shtmltag #32*                     shtmltag  tsymbol
  59.  
  60. // Strings
  61. shtmltag   \'                     sstring1   tstring
  62. shtmlvalue \'                     sstring1   tstring
  63. sstring1   [^\']*                 sstring1   tstring
  64. sstring1   \'                     shtmltag   tstring
  65. sstring1   \'\'                   sstring1   tstring
  66. sstring1   \\                     sstring1   tstring
  67.  
  68. shtmlvalue  \"                    sstring2   tstring
  69. shtmltag    \"                    sstring2   tstring
  70. sstring2   [^\"]*                 sstring2   tstring
  71. sstring2   \"                     shtmltag   tstring
  72. sstring2   \"\"                   sstring2   tstring
  73. sstring2   \\                     sstring2   tstring
  74.  
  75. // Comments
  76. snormal   <\!--               scomment  tcomment
  77. scomment [^\-]*               scomment  tcomment
  78. scomment [\-]*[^>]            scomment  tcomment
  79. scomment  [\-]*>              snormal   tcomment
  80.  
  81. // Reswords - tag names
  82. // lines containing @@@ are special container brackets - do not touch them
  83. //@@@HTM
  84. stagname  'a'           shtmltag  tresword
  85. stagname  'abbr'        shtmltag  tresword
  86. stagname  'acronym'     shtmltag  tresword
  87. stagname  'address'     shtmltag  tresword
  88. stagname  'applet'      shtmltag  tresword
  89. stagname  'area'        shtmltag  tresword
  90. stagname  'b'           shtmltag  tresword
  91. stagname  'base'        shtmltag  tresword
  92. stagname  'basefont'    shtmltag  tresword
  93. stagname  'bdo'         shtmltag  tresword
  94. stagname  'big'         shtmltag  tresword
  95. stagname  'blockquote'  shtmltag  tresword
  96. stagname  'body'        shtmltag  tresword
  97. stagname  'br'          shtmltag  tresword
  98. stagname  'button'      shtmltag  tresword
  99. stagname  'caption'     shtmltag  tresword
  100. stagname  'center'      shtmltag  tresword
  101. stagname  'cite'        shtmltag  tresword
  102. stagname  'code'        shtmltag  tresword
  103. stagname  'col'         shtmltag  tresword
  104. stagname  'colgroup'    shtmltag  tresword
  105. stagname  'dd'          shtmltag  tresword
  106. stagname  'del'         shtmltag  tresword
  107. stagname  'dfn'         shtmltag  tresword
  108. stagname  'dir'         shtmltag  tresword
  109. stagname  'div'         shtmltag  tresword
  110. stagname  'dl'          shtmltag  tresword
  111. stagname  'dt'          shtmltag  tresword
  112. stagname  'em'          shtmltag  tresword
  113. stagname  'fieldset'    shtmltag  tresword
  114. stagname  'font'        shtmltag  tresword
  115. stagname  'form'        shtmltag  tresword
  116. stagname  'frame'       shtmltag  tresword
  117. stagname  'frameset'    shtmltag  tresword
  118. stagname  'h1'          shtmltag  tresword
  119. stagname  'h2'          shtmltag  tresword
  120. stagname  'h3'          shtmltag  tresword
  121. stagname  'h4'          shtmltag  tresword
  122. stagname  'h5'          shtmltag  tresword
  123. stagname  'h6'          shtmltag  tresword
  124. stagname  'head'        shtmltag  tresword
  125. stagname  'hr'          shtmltag  tresword
  126. stagname  'html'        shtmltag  tresword
  127. stagname  'i'           shtmltag  tresword
  128. stagname  'iframe'      shtmltag  tresword
  129. stagname  'img'         shtmltag  tresword
  130. stagname  'input'       shtmltag  tresword
  131. stagname  'ins'         shtmltag  tresword
  132. stagname  'isindex'     shtmltag  tresword
  133. stagname  'kbd'         shtmltag  tresword
  134. stagname  'label'       shtmltag  tresword
  135. stagname  'legend'      shtmltag  tresword
  136. stagname  'li'          shtmltag  tresword
  137. stagname  'link'        shtmltag  tresword
  138. stagname  'map'         shtmltag  tresword
  139. stagname  'menu'        shtmltag  tresword
  140. stagname  'meta'        shtmltag  tresword
  141. stagname  'noframes'    shtmltag  tresword
  142. stagname  'noscript'    shtmltag  tresword
  143. stagname  'object'      shtmltag  tresword
  144. stagname  'ol'          shtmltag  tresword
  145. stagname  'optgroup'    shtmltag  tresword
  146. stagname  'option'      shtmltag  tresword
  147. stagname  'p'           shtmltag  tresword
  148. stagname  'param'       shtmltag  tresword
  149. stagname  'pre'         shtmltag  tresword
  150. stagname  'q'           shtmltag  tresword
  151. stagname  's'           shtmltag  tresword
  152. stagname  'samp'        shtmltag  tresword
  153. stagname  'script'      shtmltag  tresword
  154. stagname  'select'      shtmltag  tresword
  155. stagname  'small'       shtmltag  tresword
  156. stagname  'span'        shtmltag  tresword
  157. stagname  'strike'      shtmltag  tresword
  158. stagname  'strong'      shtmltag  tresword
  159. stagname  'style'       shtmltag  tresword
  160. stagname  'sub'         shtmltag  tresword
  161. stagname  'sup'         shtmltag  tresword
  162. stagname  'table'       shtmltag  tresword
  163. stagname  'tbody'       shtmltag  tresword
  164. stagname  'td'          shtmltag  tresword
  165. stagname  'textarea'    shtmltag  tresword
  166. stagname  'tfoot'       shtmltag  tresword
  167. stagname  'th'          shtmltag  tresword
  168. stagname  'thead'       shtmltag  tresword
  169. stagname  'title'       shtmltag  tresword
  170. stagname  'tr'          shtmltag  tresword
  171. stagname  'tt'          shtmltag  tresword
  172. stagname  'u'           shtmltag  tresword
  173. stagname  'ul'          shtmltag  tresword
  174. stagname  'var'         shtmltag  tresword
  175. //HTM@@@
  176.  
  177. // Reswords - entities
  178. snormal  ‘    snormal  tentity
  179. snormal  ’    snormal  tentity
  180. snormal  ‚    snormal  tentity
  181. snormal  “    snormal  tentity
  182. snormal  ”    snormal  tentity
  183. snormal  „    snormal  tentity
  184. snormal  †   snormal  tentity
  185. snormal  ‡   snormal  tentity
  186. snormal  ‰   snormal  tentity
  187. snormal  ‹   snormal  tentity
  188. snormal  ›   snormal  tentity
  189. snormal  ♠   snormal  tentity
  190. snormal  ♣    snormal  tentity
  191. snormal  ♥   snormal  tentity
  192. snormal  ♦    snormal  tentity
  193. snormal  ‾    snormal  tentity
  194. snormal  ←     snormal  tentity
  195. snormal  ↑     snormal  tentity
  196. snormal  →     snormal  tentity
  197. snormal  ↓     snormal  tentity
  198. snormal  ™    snormal  tentity
  199. snormal  "     snormal  tentity
  200. snormal  &      snormal  tentity
  201. snormal  ⁄    snormal  tentity
  202. snormal  <       snormal  tentity
  203. snormal  –    snormal  tentity
  204. snormal  —    snormal  tentity
  205. snormal        snormal  tentity
  206. snormal  ¡    snormal  tentity
  207. snormal  ¢     snormal  tentity
  208. snormal  £    snormal  tentity
  209. snormal  ¤   snormal  tentity
  210. snormal  ¥      snormal  tentity
  211. snormal  ¦   snormal  tentity
  212. snormal  &brkbar;   snormal  tentity
  213. snormal  §     snormal  tentity
  214. snormal  ¨      snormal  tentity
  215. snormal  ¨      snormal  tentity
  216. snormal  ©     snormal  tentity
  217. snormal  ª     snormal  tentity
  218. snormal  «    snormal  tentity
  219. snormal  ¬      snormal  tentity
  220. snormal  ­      snormal  tentity
  221. snormal  ®      snormal  tentity
  222. snormal  ¯     snormal  tentity
  223. snormal  &hibar;    snormal  tentity
  224. snormal  °      snormal  tentity
  225. snormal  ±   snormal  tentity
  226. snormal  ²     snormal  tentity
  227. snormal  ³     snormal  tentity
  228. snormal  ´    snormal  tentity
  229. snormal  µ    snormal  tentity
  230. snormal  ¶     snormal  tentity
  231. snormal  ·   snormal  tentity
  232. snormal  ¸    snormal  tentity
  233. snormal  ¹     snormal  tentity
  234. snormal  º     snormal  tentity
  235. snormal  »    snormal  tentity
  236. snormal  ¼   snormal  tentity
  237. snormal  ½   snormal  tentity
  238. snormal  ¾   snormal  tentity
  239. snormal  ¿   snormal  tentity
  240. snormal  À   snormal  tentity
  241. snormal  Á   snormal  tentity
  242. snormal  Â    snormal  tentity
  243. snormal  Ã   snormal  tentity
  244. snormal  Ä     snormal  tentity
  245. snormal  Å    snormal  tentity
  246. snormal  Æ    snormal  tentity
  247. snormal  Ç   snormal  tentity
  248. snormal  È   snormal  tentity
  249. snormal  É   snormal  tentity
  250. snormal  Ê    snormal  tentity
  251. snormal  Ë     snormal  tentity
  252. snormal  Ì   snormal  tentity
  253. snormal  Í   snormal  tentity
  254. snormal  Î    snormal  tentity
  255. snormal  Ï     snormal  tentity
  256. snormal  Ð      snormal  tentity
  257. snormal  Ñ   snormal  tentity
  258. snormal  Ò   snormal  tentity
  259. snormal  Ó   snormal  tentity
  260. snormal  Ô    snormal  tentity
  261. snormal  Õ   snormal  tentity
  262. snormal  Ö     snormal  tentity
  263. snormal  ×    snormal  tentity
  264. snormal  Ø   snormal  tentity
  265. snormal  Ù   snormal  tentity
  266. snormal  Ú   snormal  tentity
  267. snormal  Û    snormal  tentity
  268. snormal  Ü     snormal  tentity
  269. snormal  Ý   snormal  tentity
  270. snormal  Þ    snormal  tentity
  271. snormal  ß    snormal  tentity
  272. snormal  à   snormal  tentity
  273. snormal  á   snormal  tentity
  274. snormal  â    snormal  tentity
  275. snormal  ã   snormal  tentity
  276. snormal  ä     snormal  tentity
  277. snormal  å    snormal  tentity
  278. snormal  æ    snormal  tentity
  279. snormal  ç   snormal  tentity
  280. snormal  è   snormal  tentity
  281. snormal  é   snormal  tentity
  282. snormal  ê    snormal  tentity
  283. snormal  ë     snormal  tentity
  284. snormal  ì   snormal  tentity
  285. snormal  í   snormal  tentity
  286. snormal  î    snormal  tentity
  287. snormal  ï     snormal  tentity
  288. snormal  ð      snormal  tentity
  289. snormal  ñ   snormal  tentity
  290. snormal  ò   snormal  tentity
  291. snormal  ó   snormal  tentity
  292. snormal  ô    snormal  tentity
  293. snormal  õ   snormal  tentity
  294. snormal  ö     snormal  tentity
  295. snormal  ÷   snormal  tentity
  296. snormal  ø   snormal  tentity
  297. snormal  ù   snormal  tentity
  298. snormal  ú   snormal  tentity
  299. snormal  û    snormal  tentity
  300. snormal  ü     snormal  tentity
  301. snormal  ý   snormal  tentity
  302. snormal  þ    snormal  tentity
  303. snormal  ÿ     snormal  tentity
  304. snormal  >       snormal  tentity
  305. snormal  €     snormal  tentity
  306. snormal  …     snormal  tentity
  307. snormal  &\#[0-9]*;  snormal  tentity
  308.